package cn.jhh.content.controller;

import cn.jhh.content.model.dto.SaveTeachPlanDto;
import cn.jhh.content.model.dto.TeachplanDto;
import cn.jhh.content.service.CourseBaseService;
import cn.jhh.content.service.TeachplanService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;

/**
 * <p>
 * 课程计划 前端控制器
 * </p>
 *
 * @author jhh
 * @since 2025-05-23
 */
@Api(value = "课程计划管理接口", tags = "课程计划管理接口")
@RestController
@RequestMapping("/teachplan")
public class TeachplanController {

    //    课程计划除了基础的增删改查 还有树形的结构 便于前端去做一个树状的查询接口 另外还要和媒资信息有一个绑定和解绑的操作
    @Resource
    private TeachplanService teachplanService;

    @Resource
    private CourseBaseService courseBaseService;

    @ApiOperation("课程计划树查询接口")
    @GetMapping("/teachplan/{courseId}/tree-nodes")
    public List<TeachplanDto> getTreeNodes(@PathVariable Long courseId) {
        return teachplanService.findTeachplanTree(courseId);
    }


    //    后端人员偷懒：将修改和新增接口写在一个接口 注意这里的审核状态修改后要进行审核 并改为未提交
    //    1.建立数据模型 2. 检查是否能提交 3.保存课程计划
    @ApiOperation("课程计划树新增/修改接口")
    @PostMapping("/teachplan")
    public void saveTeachplan(@RequestBody SaveTeachPlanDto dto) {
        Long companyId = 1232141425L;
        courseBaseService.updateAuditStatusToC202002(companyId,dto.getCourseId());
        teachplanService.saveTeachplan(dto);
    }

}
